package com.snowj.apaas.service;

import com.snowj.apaas.domain.auto.Clients;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;
import java.util.Optional;

public interface ClientService {

    /**
     * 列出所有客户
     * @return
     */
    List<Clients> listAllClients();

    /**
     * 列出客户列表
     * @param name 客户名称
     * @param pageable
     * @return
     */
    Page<Clients> listClients(String name, Pageable pageable);

    /**
     * 根据id查找客户
     *
     * @param id 客户编号
     * @return
     */
    Optional<Clients> findClientById(Long id);

    /**
     * 创建客户
     * @param clients 客户信息
     * @return
     */
    Clients createClient(Clients clients);

    /**
     * 更新客户信息
     * @param clients 客户信息
     * @return
     */
    Clients updateClient(Clients clients);

    /**
     * 删除客户
     * @param id 客户编号
     */
    void deleteClient(Long id);
}
